package cloud.service.user;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;

/**
 * 
 * <p>
 * Description: 用户注册服务 
 * 项目启动:
 * java -jar cloud-user-service.jar --config.profile =test
 * </p>
 * 
 * @author: zsljava@163.com
 * @version 1.0.0
 * <p>
 * History:
 * -----------------------------------------------
 * @Date: 2017年3月14日
 * @author: zsljava@163.com
 * @version 1.0.0
 * @OP: Create
 * -----------------------------------------------
 * </p>
 *
 * @since
 * @see
 */
//TODO  @RefreshScope 修改了 git 上的远程配置文件后，在不重启 config-client服务的情况下让项目中引用的配置信息更新
//config-client 做的是分布式部署，那么可能会出现重复获取请求，可以使用 Spring Cloud Bus解决该问题
@RefreshScope
@EnableDiscoveryClient //自定义服务发现的客服端
@EnableCircuitBreaker //@EnableCircuitBreaker或者 @EnableHystrix 表明Spring boot工程启用hystrix,两个注解是等价的
@EnableHystrixDashboard //注解表示启动对hystrix的监控
@SpringBootApplication //相当于@configuration，@EnableAutoConfiguation @ComponentScan三个注解合用。
public class UserServerBoostrap {

	public static void main(String[] args) {
		 SpringApplication.run(UserServerBoostrap.class, args);
//		 SpringApplication.run(StartUserService.class, "--config.profile=test");
	}
}
